#!/usr/local/php/bin/php
<?php

/**
 * alltosun.com 计划任务脚本 save_admin_data.php
 * ============================================================================
 * 版权所有 (C) 2009-2011 北京互动阳光科技有限公司，并保留所有权利。
 * 网站地址: http://www.alltosun.com
 * ----------------------------------------------------------------------------
 * 许可声明：这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
 * ============================================================================
 * $Author: 高昂 (gaoa@alltosun.com) $
 * $Date: 2016-4-8 下午12:01:30 $
 * $Id: $
 */

/**
 * @notice 注意php解释器的地址，在windows上可能需要将第一行改为
 *     #!c:/program files/php/php.exe
 */

if (php_sapi_name() != 'cli') {
    echo "This script can not be executed through web server.";
    exit(1);
}

// 命令行参数一，程序名
$script_filename = array_shift($_SERVER['argv']);

// 命令行参数二，显示帮助信息
if (in_array('--help', $_SERVER['argv'])) {
    echo <<<EOF

Execute cron script for AnCMS

Usage: /usr/local/php/bin/php {$script_filename} [options]
Example: /usr/local/php/bin/php {$script_filename} [--ondev --date:2016-09-10 --host:app.baobaot.com]

   --ondev                Execute this script on develop environment, which will use development config.
   --date:YYYY-mm-dd      Date to export
   --host:HTTP_HOST       The domain for AnCMS to run with.


EOF;
    exit();
}

// 公共方法
include 'inc.php';

$start_time = date('Y-m-d H:i:s');

$logs = array();
$exception = false;

try {
    // 加载所有模块
    AnModule::loadAll();
    _widget('cinema.cinema_brief')->cinema_daily_order($PARAM['date']);

} catch (Exception $e) {
    $logs[] = $e;
    $exception = true;
    print_r($logs);
}

$end_time = date('Y-m-d H:i:s');

$log = $start_time . ' - ' . $end_time . ' @' . $_SERVER['HTTP_HOST'] . ': ' . implode('|', $logs) . "\n";

// 自动生成log文件
if (!empty($log_file) && !file_exists($log_file)) {
    $dirname = dirname($log_file);
    if (!is_dir($dirname)) {
        @mkdir($dirname);
    }
    $log_header = "#Generated by AnSNS for cron script log. Any problems please connect {$log_email}\n";
    @file_put_contents($log_file, $log_header);
}

// 记录log
if (!empty($log_file) && is_readable($log_file)) {
    @error_log($log, 3, $log_file);
    // 如果发生报错信息时，同时进行email通知
    if ($exception) {
        @error_log($log, 1, $log_email);
    }
} else {
    // 如果log文件不可写，进行email通知
    $log = "Log file:'$log_file' is unreadable!\n$log";
    @error_log($log, 1, $log_email);
}
exit();
?>
